1. Field of the Invention
This invention relates to digital video processing.
2. Description of the Prior Art
In digital video processing apparatus such as a video special effects apparatus, input images of an input video sequence are processed to generate output images of an output video sequence. Between the overall system input and the overall system output (both generally images), there might be generated intermediate data types such as motion vectors, positions within an image and so on.
In one example of such an apparatus, the user can set up a composite special effect to be applied to a video sequence by selecting a succession of effects modules from a large number of available modules. For example, a sequence of effects set up by a user as a so-called xe2x80x9cdirected acyclic graphxe2x80x9d might comprise:
(i) image loader
(ii) motion tracker
(iii) lighting effect linked to motion tracking and image loader
(iv) image realignment linked to motion tracking and image loader
Once a particular effect has been selected and all the parameters defined, a xe2x80x9crenderingxe2x80x9d operation has to take place.
Rendering is the process of generating an output image (or series of images forming an output video sequence) according to the processing operation which has been set up. For example, a lighting effect might involve the user selecting a source and a destination position for a computer-generated spotlight to be applied to a video sequence. Once these positions have been defined, the next task is to render each image in the output sequence by applying the defined lighting effect to determine the colour and luminance of each pixel of each output image.
Rendering is a very processing-intensive task, and with current apparatus it can take several seconds to render a single input (e.g. an image). So, there is a constant need to reduce the time taken to render a sequence of inputs.
This invention provides digital image processing apparatus comprising:
a plurality of render processors arranged in a directed acyclic graph, each operable to render an output result relating to an image from input data relating to that and/or other images received from a preceding render processor in the directed acyclic graph;
each render processor being operable to detect and communicate to other render processors whether its rendered output is constant between adjacent outputs.
With the invention, repeated rendering processing can be avoided by each render processor detecting whether its rendered output is constant between adjacent images. If it is, then a subsequent render processor may be able (if appropriate) to render only one of those images and then repeat it for the identical adjacent image.
The above, and other objects, features and advantages of this invention will be apparent from the following detailed description of illustrative embodiments which is to be read in connection with the accompanying drawings.